package com.ssy.lingxi.purchase.model.request;

import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.*;
import java.math.BigDecimal;

/**
 * 新增采购请购订单物料接口参数
 * @author wyx
 * @version 2.0.0
 * @date 2021-10-27
 */
@Setter
@Getter
public class RequisitionProductReq {
    /**
     * 物料Id
     */
    @NotNull(message = "物料Id要大于0")
    @Positive(message = "物料Id要大于0")
    private Long productId;

    /**
     * 物料编号
     */
    @NotBlank(message = "物料编号不能为空")
    @Size(max = 20, message = "物料编号最长20个字符")
    private String productNo;

    /**
     * 物料名称
     */
    @NotBlank(message = "物料名称不能为空")
    @Size(max = 100, message = "物料名称最长100个字符")
    private String name;

    /**
     * 物料品类
     */
    @NotBlank(message = "物料品类不能为空")
    @Size(max = 50, message = "物料品类最长50个字符")
    private String category;

    /**
     * 物料品牌
     */
    @Size(max = 50, message = "物料品牌最长50个字符")
    private String brand;

    /**
     * 物料规格
     */
    @Size(max = 50, message = "物料规格最长50个字符")
    private String spec;

    /**
     * 计价单位
     */
    @NotBlank(message = "物料计价单位不能为空")
    @Size(max = 10, message = "物料计价单位最长10个字符")
    private String unit;

    /**
     * 物料价格
     */
    @PositiveOrZero(message = "物料价格要大于等于0")
    private BigDecimal price;

    /**
     * 供方库存
     */
    private BigDecimal stock;

    /**
     * 采购数量
     */
    @NotNull(message = "采购数量要大于0")
    @Positive(message = "采购数量要大于0")
    private BigDecimal quantity;

    /**
     * 物料组
     */
    private String goodsGroup;

    /**
     * 生产厂家
     */
    private String manuFacturer;

    /**
     * 产地
     */
    private String placeOrigin;

    /**
     * 备注
     */
    private String remark;


}
